<?php
/**
 * bICmd
 * 
 * Interface pour les commandes par script
 *
 * @package bottleneck
 * @subpackage scripts
 * @author Thomas Lenoel
 * @copyright 2010 Thomas Lenoel
 * @version 0.1
 * @license http://www.gnu.org/licenses/gpl.html GNU General Public License version 3
 */
abstract class bICmd {

    protected $_params;
    protected $_app;
    protected $_project_path;
    
    /**
     * Initialise la commande
     *
     * @param array $params tableau de paramètres
     */
    public function __construct($params, $app) {
        $this->_params = $params;
        $this->_app = $app;

        if (isset($_ENV['BNECK_PRJ_PATH'])) $this->_project_path = $_ENV['BNECK_PRJ_PATH'];
        else $this->_project_path = './';
    }

    /**
     * Affiche un message quelconque en console
     *
     * @param string $msg Contenu du message
     * @param string $pref Valeur du préfixe
     * @param string $col Nom de la couleur du préfixe
     */
    public static function message($msg, $pref=null, $col=null) {
        $accepted = array('Linux');
        $colors = array(
            'black'=>"\033[01;30m",
            'red'=>"\033[01;31m",
            'green'=>"\033[01;32m",
            'yellow'=>"\033[01;33m",
            'blue'=>"\033[01;34m",
            'purple'=>"\033[01;35m",
            'cyan'=>"\033[01;36m",
            'white'=>"\033[01;37m",
            'def'=>"\033[00;39m"
        );

        

        if(!empty($pref)) {
            if (in_array(PHP_OS, $accepted) && !empty($col) && array_key_exists($col, $colors)) $pref = $colors[$col]."[ ".$pref." ] ".$colors['def'];
            else $prefs="[ ".$prefs." ] ";
            $msg = $pref.$msg;
        }
        echo "\n".$msg."\n\n";
    }

    /**
     * Exécute la commande
     */
    public abstract function execute();


}
?>
